let house_id
let house_index
Page({
  data: {
    dialogVisible: false,
    houseList: []
  },

  onShow() {
    wx.http.get('/room')
    // 获取房屋列表
    this.getHouseList()
    console.log(this.data.houseList);
  },
  async getHouseList() {
    // 请求数据接口
    const { code, data: houseList } = await wx.http.get('/room')
    // console.log(17, code);
    // 检测接口返回的结果
    if (code !== 10000) return wx.utils.toast()
    // 渲染数据
    this.setData({ houseList })
  },
  // 滑动滑块，点击删除，弹出弹框
  // 因为真正删除的逻辑, 不在滑块而在弹窗二次询问，这里滑块关闭之前, 需要将当前点击的 id 和 index 临时储存起来
  swipeClose(ev) {
    house_id = ev.mark.id
    house_index = ev.mark.index
    // console.log(27, house_id);
    // console.log(28, house_index);
    // 删除按钮被点击
    const { position, instance } = ev.detail

    if (position === 'right') {
      // 显示 Dialog 对话框
      this.setData({
        dialogVisible: true,
      })

      // swiper-cell 滑块关闭
      instance.close()
    }
  },
  // 
  async dialogClose(ev) {
    // 弹窗关闭
    console.log(ev.detail);
    ev.detail === 'confirm' && this.deleteHouse()
    // 另一种写法：
    // if (ev.detail === 'confirm') {
    //   // 这里是二次询问对话框的确定逻辑, 需要发送请求
    //   // 需要当前点击项的id和index
    //   this.deleteHouse()
    // }
  },
  // 发请求，带上id,删除房子
  async deleteHouse() {
    console.log('应该删除');
    console.log('id', house_id);
    console.log('index', house_index);


    // 根据 id 请求数据接口
    const { code } = await wx.http.delete('/room/' + house_id)
    // 检测接口调用结果
    if (code !== 10000) return wx.utils.toast('删除房屋失败!')

    // 根据索引删除页面数据, 更新房屋列表
    this.data.houseList.splice(house_index, 1)
    this.setData({
      houseList: this.data.houseList,
    })
  },
  // 从房屋列表点击进入房屋详情页,必须带id过去
  goDetail(ev) {
    wx.navigateTo({
      url: '/house_pkg/pages/detail/index?id=' + ev.mark.id,
    })
  },
  // 添加房屋
  addHouse() {
    wx.navigateTo({
      url: '/house_pkg/pages/locate/index',
    })
  },
})
